home *** CD-ROM | disk | FTP | other *** search
/ Video Toaster 4.0 / Video Toaster v4.0.iso / arexx / modeler / pointplane.lwm < prev    next >
Text File  |  1993-12-13  |  1KB  |  62 lines

  1. /* PointPlane.lwm -- CMD: Plane of Points
  2.  * By Arnie Cachelin © 1992 NewTek Inc. */
  3.  
  4. points=50
  5. sysnam = 'Planar Point Distribution'
  6.  
  7. Modeler= "LWModelerARexx.port"
  8. L=SHOW('Libraries')
  9. IF POS(Modeler ,L ) = 0 THEN ADDLIB("LWModelerARexx.port",0)
  10. signal on error
  11. signal on syntax
  12.  
  13. call req_begin sysnam
  14.  
  15. id_Nx   = req_addcontrol("X Points Per Side", 'n',0)
  16. id_Ny   = req_addcontrol("Y Points Per Side", 'n',0)
  17.  
  18. call req_setval id_Nx,points
  19. call req_setval id_Ny,points
  20.  
  21. if (~req_post()) then do
  22.     call req_end
  23.     exit
  24. end
  25.  
  26. xpoints = abs(req_getval(id_Nx)) % 1
  27. ypoints = abs(req_getval(id_Ny)) % 1
  28. call req_end
  29. points=xpoints*ypoints
  30. if points>65000 then do
  31.     call notify(1,'!'xpoints'x'ypoints' gives 'points' Points','   and that's just too many.)
  32.     exit
  33.     end
  34. call add_begin
  35. call meter_begin points+1, "Generating "points" Points"
  36. dx=.01
  37. dy=dx
  38. x=0
  39. y=0
  40. z=0
  41. N=0
  42. do i=1 to ypoints
  43.     do j=1 to xpoints
  44.       N=N+1
  45.     x=x+dx
  46.     call add_point x y z
  47.     call add_polygon i
  48.     call meter_step
  49.         end j
  50.      y=y+dy
  51.     x=0
  52. end i
  53. call add_end()
  54. call notify( 1,'!'Sysnam,"@Drew "N" points")
  55.  
  56. exit
  57.  
  58. syntax:
  59. error:
  60.   call end_all
  61.     t=Notify(1,'!Rexx Script Error','@'ErrorText(rc),'Line 'SIGL)
  62.     exit